from time import *
from sys import *
#正方形的面积
def area_of_square(a):
    a=float(a)
    return a*a
#正方形的周长
def perimeter_of_square(b):
    b=float(b)
    return b*4
#矩形的周长
def perimeter_of_rectangle(c,d):
    c=float(c)
    d=float(d)
    return (c+d)*2
#三角形的面积
def area_of_triangle(e,f):
    e=float(e)
    f=float(f)
    return e*f/2
#一字一字输出
def pobo(text):#print_one_by_one
    stdout.write("\r " + " " * 60 + "\r") # /r 光标回到行首
    stdout.flush() #把缓冲区全部输出
    for c in text:
        stdout.write(c)
        stdout.flush()
        sleep(0.05)

 
#用户选择窗口
while True:
    pobo("选择哪个函数：")
    print("")
    print("正方形的面积")
    print("正方形的周长")
    print("矩形的周长")
    print("三角形的面积")
    pobo("请选择：1/2/3/4：")
    g=input()
    if g == "1":
        pobo("将计算正方形的面积，请输入一个边长：")
        x=area_of_square(input())
        if x%1==0:
            x=int(x)
        if float(x) <= 0:
            x="输入错误"
        pobo("计算的结果是：")
        print(x)
    elif g == "2":
        pobo("将计算正方形的周长，请输入一个边长：")
        x=perimeter_of_square(input())
        if x%1==0:
            x=int(x)
        if float(x) <= 0:
            x="输入错误"
        pobo("计算的结果是：")
        print(x)
    elif g == "3":
        pobo("将计算矩形的周长，请输入一个边长：")
        x=input()
        pobo("将计算矩形的周长，请输入另一个边长：")
        y=input()
        x=perimeter_of_rectangle(x,y)
        if x%1==0:
            x=int(x)
        if float(x) <= 0:
            x="输入错误"
        pobo("计算的结果是：")
        print(x)
    elif g == "4":
        pobo("将计算三角形的面积，请输入底边的长：")
        x=input()
        pobo("将计算三角形的面积，请输入底边对应的高：")
        y=input()
        x=area_of_triangle(x,y)
        if x%1==0:
            x=int(x)
        if float(x) <= 0:
            x="输入错误"
        pobo("计算的结果是：")
        print(x)
    pobo("检测到已完成或输入错误，是否再来一次（按回车键重来，按右上角X关闭）")
    input()